home *** CD-ROM | disk | FTP | other *** search
- XCOMM $XFree86: xc/config/cf/lnxdoc.rules,v 3.27 2003/01/15 03:17:29 dawes Exp $
- XCOMM
- XCOMM Rules for formatting Linuxdoc-SGML documentation
- XCOMM
-
- #include <lnxdoc.tmpl>
-
- #ifdef DontInstallLinuxDoc
- #define LinuxDocInstall(file,dest) /* do nothing */
- #define LinuxDocInstallMultiple(files,dest) /* do nothing */
- #define LinuxDocInstallIfExists(file,dest) /* do nothing */
- #else
- #define LinuxDocInstall(file,dest) InstallNonExecFile(file,dest)
- #define LinuxDocInstallMultiple(files,dest) @@\
- InstallMultipleDest(install,files,dest)
-
- #define LinuxDocInstallIfExists(file,dir) @@\
- install:: @@\
- MakeDir($(DESTDIR)dir) @@\
- @if [ -f file ]; then set -x; \ @@\
- $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) \ @@\
- file $(DESTDIR)dir; \ @@\
- fi
- #endif
-
- /* Version for sgmlfmt */
-
- #if BuildLinuxDocPS
- #define LinuxDocSgmlToPs(sgmlfile,base) @@\
- all:: base.ps PdfTarget(base) @@\
- @@\
- base.ps: sgmlfile $(SGMLDEPENDS) @@\
- RemoveFile(_$@ $@) @@\
- @(BASE=`basename sgmlfile .sgml`;\ @@\
- set -x;\ @@\
- RemoveFile($$BASE.ps);\ @@\
- $(SGMLFMTCMD) -f ps sgmlfile && \ @@\
- $(MV) $$BASE.ps _$@ && $(MV) _$@ $@) @@\
- @@\
- LinuxDocInstall(base.ps,$(XFREE86PSDOCDIR)) @@\
- @@\
- ConvertPsToPdf(base) @@\
- @@\
- LinuxDocInstallIfExists(base.pdf,$(XFREE86PDFDOCDIR)) @@\
- @@\
- clean:: @@\
- RemoveFile(Concat(_,base.ps) base.ps)
- #else
- #define LinuxDocSgmlToPs(sgmlfile,base) /**/
- #endif
-
- #if BuildLinuxDocText
- #define LinuxDocSgmlToText(sgmlfile,textfile) @@\
- AllTarget(textfile) @@\
- @@\
- textfile: sgmlfile $(SGMLDEPENDS) @@\
- RemoveFiles(_$@ $@) @@\
- @(BASE=`basename sgmlfile .sgml`;\ @@\
- set -x;\ @@\
- RemoveFile($$BASE.latin1);\ @@\
- $(SGMLFMTCMD) -f latin1 -b -n sgmlfile && \ @@\
- $(CVSIDENTFIX) < $$BASE.latin1 | $(XORGIDENTFIX) | $(XFREE86IDENTFIX) > _$@ && $(MV) _$@ $@ && \ @@\
- RemoveFile($$BASE.latin1)) @@\
- @@\
- LinuxDocInstall(textfile,$(XFREE86DOCDIR)) @@\
- @@\
- clean:: @@\
- @(file=textfile; set -x; RemoveFiles(_$$file $$file))
- #else
- #define LinuxDocSgmlToText(sgmlfile,textfile) /**/
- #endif
-
- #if BuildLinuxDocHtml
- #define LinuxDocSgmlToHtml(sgmlfile,base) @@\
- AllTarget(base.html) @@\
- @@\
- base.html: sgmlfile $(SGMLDEPENDS) @@\
- @if [ sgmlfile != base.sgml ]; then $(LN) sgmlfile base.sgml; fi @@\
- RemoveFiles(base*.html) @@\
- $(SGMLFMTCMD) -f html base.sgml || RemoveFile($@) @@\
- @if [ sgmlfile != base.sgml ]; then RemoveFile(base.sgml); fi @@\
- @@\
- LinuxDocInstallMultiple(base*.html,$(XFREE86HTMLDOCDIR)) @@\
- @@\
- clean:: @@\
- RemoveFiles(base*.html)
- #else
- #define LinuxDocSgmlToHtml(sgmlfile,base) /**/
- #endif
-
- /*
- * Rule for maintainers to use to updated formatted copies of docs in the
- * source tree. Use with care.
- */
-
- #ifndef UpdateFormattedDocLong
- #define UpdateFormattedDocLong(textfile,dstdir,dstfile) @@\
- update.docs:: textfile @@\
- -@if [ -f dstdir/dstfile ]; then \ @@\
- if [ "$(FORCEUPDATE)" = yes ]; then set -x; \ @@\
- if [ "$(FOLLOWLINK)" = no ]; then \ @@\
- $(RM) dstdir/dstfile; \ @@\
- fi; \ @@\
- cp textfile dstdir/dstfile; \ @@\
- echo "" >> dstdir/dstfile; \ @@\
- echo "\$$XdotOrg\$$" >> dstdir/dstfile; \ @@\
- else \ @@\
- $(RM) __tmp1__ __tmp2__; \ @@\
- fgrep -v "\$$XdotOrg:" textfile > __tmp1__; \ @@\
- fgrep -v "\$$XdotOrg:" dstdir/dstfile > __tmp2__; \ @@\
- if diff -B __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \ @@\
- else set -x; \ @@\
- if [ "$(FOLLOWLINK)" = no ]; then \ @@\
- $(RM) dstdir/dstfile; \ @@\
- fi; \ @@\
- cp textfile dstdir/dstfile ; \ @@\
- echo "" >> dstdir/dstfile; \ @@\
- echo "\$$XdotOrg"": \$$" >> dstdir/dstfile; \ @@\
- fi; \ @@\
- fi; \ @@\
- fi @@\
- @$(RM) __tmp1__ __tmp2__
- #endif
-
- #ifndef UpdateFormattedDoc
- #define UpdateFormattedDoc(textfile,dstdir) @@\
- UpdateFormattedDocLong(textfile,dstdir,textfile)
- #endif
-
- /*
- * Avoid using LinuxDocTargetLong with base != sgmlfile because HTML
- * index generation assumes that base == sgmlfile.
- */
- #define LinuxDocTargetLong(sgmlfile,textfile,base) @@\
- LinuxDocSgmlToText(sgmlfile,textfile) @@\
- LinuxDocSgmlToHtml(sgmlfile,base) @@\
- LinuxDocSgmlToPs(sgmlfile,base) @@\
- UpdateFormattedDoc(textfile,$(FORMATTEDDIR))
-
- #define LinuxDocReadmeTarget(base) @@\
- LinuxDocTargetLong(base.sgml,ReadmeFile(base),base)
-
- #define LinuxDocTarget(base) @@\
- LinuxDocTargetLong(base.sgml,base,base)
-
-